import axios from 'axios'
import { Loading } from 'element-ui'


  var url = "https://174.178.4.175/zhhq_api_test/"; // 测试服务器


sessionStorage.setItem("baseUrl", url);
//axios.defaults.timeout = 5000 // 5s没响应则认为该请求失败
axios.defaults.baseURL = sessionStorage.getItem("baseUrl");
axios.defaults.withCredentials = false	// 跨域时如果要带上cookie话则需要设置withCrendentials

let loadingInstance
// 请求的地方设置成true
// axios.interceptors.request.use(function (config) {
//   loadingInstance = Loading.service({
//     lock: true,
//     text: '加载中……',
//     background: 'rgba(0, 0, 0, 0.7)'
//   })
//   return config
// })

// // 响应的地方设置成false
// axios.interceptors.response.use(function () {
//   loadingInstance.close();
// })

/**
 *  封装get方法 跟 post 方法
 *  @param url
 *  @param params
 *  @returns {Promise}
 */

// 这种写法是导出后可以通过在main.js中使用Vue.use(http) 挂载到vue实例上
export default {
  install: (Vue) => {
    Vue.prototype.$get = (url, params = {}) => {
      return new Promise((resolve, reject) => {
        axios.get(url, { params })
          .then(response => resolve(response.data))
          .catch(error => reject(error))
      })
    }
    Vue.prototype.$post = (url, params = {}) => {
      loadingInstance = Loading.service({
        lock: true,
        text: '加载中……',
        background: 'rgba(0, 0, 0, 0.7)'
      })
      return new Promise((resolve, reject) => {
        axios.post(url, params)
          .then((res) => {
            loadingInstance.close();
            resolve(res.data);
          })
          .catch(error => {
            loadingInstance.close();
            reject(error);
          })
      })
    }
    Vue.prototype.baseUrl = function () {
        return url;
      };
      Vue.prototype.UeConfig = function () {
        return {
          // 如果需要上传功能,找后端小伙伴要服务器接口地址
          // serverUrl: this.$config.baseUrl + 'ueditor/ueditorConfig',
          // serverUrl: 'http://localhost:8090/ueditor/ueditorConfig',
          // 编辑器不自动被内容撑高
          autoHeightEnabled: false,
          // 工具栏是否可以浮动
          autoFloatEnabled: false,
          // 初始容器高度
          initialFrameHeight: 340,
          // 初始容器宽度
          initialFrameWidth: "100%",
          // 关闭自动保存
          enableAutoSave: true
        }
      };
  }
}